#coding:utf8
from email.header import Header

from pyspark.sql import SparkSession

# 构建DataFrame方法1：从RDD构建
if __name__ == '__main__':
    # 构建SparkSession执行环境入口对象
    spark = SparkSession.builder.\
        appName("test").\
        master("local[*]").\
        getOrCreate()

    sc = spark.sparkContext

    rdd = sc.textFile("../data/input/sql/people.txt").\
        map(lambda s: s.split(",")).\
        map(lambda x:(x[0], x[1]))
    # 创建的时候需要带入字段名称
    df = spark.createDataFrame(rdd,schema=["Name","Age"])

    # 参数1：打印多少行数据
    # 参数2：是否对字段进行截断（超过20显示...）
    df.show(20,False)

    # 设置临时试图表，可供sql查询
    df.createOrReplaceTempView('people')

    # sql方式查询
    spark.sql("select * from people where age>20").show()